package com.cqeec.gams.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.cqeec.gams.entity.Role;

/**
 * 角色数据访问接口。
 * 
 * @author 唐礼飞
 *
 */
public interface RoleMapper {
	/**
	 * 统计表中所有的记录数。
	 * 
	 * @return 总的记录数。
	 */
	public long count();

	/**
	 * 根据指定的标识查询角色。
	 * 
	 * @param id 角色标识。
	 * @return 角色。
	 */
	public Role findById(String id);

	/**
	 * 查询所有角色信息。
	 * 
	 * @return 所有角色。
	 */
	public List<Role> findAll();

	/**
	 * 分页查询角色信息。
	 * 
	 * @param startRowNumber 起始行号=（页码-1）*每页记录数。
	 * @param pageSize       每页记录数。
	 * @return 分页的角色信息。
	 */
	public List<Role> findPage(@Param("startRowNumber") int startRowNumber, @Param("pageSize") int pageSize);

	/**
	 * 插入角色信息。
	 * 
	 * @param Role 角色。
	 */
	public void insert(Role entity);

	/**
	 * 根据标识更新角色信息。
	 * 
	 * @param Role 角色。
	 */
	public void update(Role entity);

	/**
	 * 根据标识删除角色信息。
	 * 
	 * @param id 标识。
	 */
	public void delete(String id);

	public long countByLikeName(String name);

	public List<Role> findPageByLikeName(@Param("startRowNumber") int startRowNumber, @Param("pageSize") int pageSize,
			@Param("name") String name);
}
